import { Entity } from "../../../../../Core/Module/Entity/Entity";
import { IAwake } from "../../../../../Core/Module/EventSystem/IAwakeSystem";
import { IDestroy } from "../../../../../Core/Module/EventSystem/IDestroySystem";
import { ILoad } from "../../../../../Core/Module/EventSystem/ILoadSystem";
import { ImplementsInterface } from "../../../../../Decorator/Decorator";
import { Dictionary } from "../../../../../Support/Share/Lib/Dictionary";
import { AAIHandler } from "./AAIHandler";

@ImplementsInterface(IAwake)
@ImplementsInterface(IDestroy)
@ImplementsInterface(ILoad)
export class AIDispatcherComponent extends Entity implements IAwake, IDestroy, ILoad {

    public static Instance: AIDispatcherComponent;

    public AIHandlers: Dictionary<string, AAIHandler> = new Dictionary<string, AAIHandler>();

}